Architectural simulators are used during the development of new computer platforms to simulate the physical hardware which is being designed. Simulators enable software developers to begin creating programs for the new computer platform even before the hardware development has been completed. Software can be programmed and debugged so that it is ready for release with the completed computer platform. Typically, the software or user code being programmed and tested is executed on the architectural simulator during hardware development. Once the physical hardware has been manufactured, the user code executes on the physical hardware in the same way that it executed on the architectural simulator.
Current simulators often require a user to have numerous xterm windows displayed on a single computer screen. Screens easily become cluttered with many windows. Users can manually click a window to minimize it, but this approach is clumsy and time consuming, especially when numerous windows are simultaneously being displayed.
Often, an interconnection of multiple architectural simulators is required to create a complete simulation of platform. The interaction between different states of the different simulators determines if the complete platform simulation is correct. This interaction, however, is complex and presents problems. For example, if one of the simulators in a simulation stopped and the other simulator were allowed to continue simulating instructions, the simulated time for the stopped simulator would stop (i.e., time is based on instruction execution). At the same time though, time for the running simulator would continue and create a mismatch between these two simulators.